最近用Linux开发,经常需要切换不同的项目代码,厌倦了各种目录切换的操作,换成自定义函数的方式进行快速切换。
设计思路
准备编程
to(){
project=$1 //获取第一个参数
}
//所以,最终命令的用法应该类似这种方式:to projectA 即可跳转到对应项目目录
注意中间不要有空格
代码实现
#快速跳转
to(){
declare -A map=(["user"]="new-user" ["enterprise"]="my-enterprise" ["common"]="all-common" ["crm"]="new-crm")
home="/home/dev/git/" //设定默认目录,如果项目不存在跳转到此
path=$home
project=$1
projectPath=${map[$project]} //从输入项中获取对应map中是否存在别名需要转换
echo $projectPath
if [ $projectPath ]
then
path=${home}${projectPath} //有别名则用别名目录拼接并跳转
else
path=${home}${project} //没有别名,则直接用输入名称跳转
fi
if [ ! -d $path ]
then
echo "dir doesn't exist,to default now!"
cd $home
else
cd $path
fi
}
#快速跳转
to(){
declare -A map=(["user"]="new-user" ["enterprise"]="my-enterprise" ["common"]="all-common" ["crm"]="new-crm")
home="/home/dev/git/" //设定默认目录,如果项目不存在跳转到此
path=$home
project=$1
projectPath=${map[$project]} //从输入项中获取对应map中是否存在别名需要转换
echo $projectPath
if [ $projectPath ]
then
path=${home}${projectPath} //有别名则用别名目录拼接并跳转
else
path=${home}${project} //没有别名,则直接用输入名称跳转
fi
if [ ! -d $path ]
then
echo "dir doesn't exist,to default now!"
cd $home
else
cd $path
fi
}